(1) In your project screen, first select the AUDIO clip (that you wish to edit) & then 'duplicate' it. (You now have two identical audio clips in a row)
(2) Now select the SECOND AUDIO CLIP & open its 'controls'
(3) Slide in 'IN' & 'OUT' markers to surround the section to have removed from the clip (i.e. surround the "um" or "ah".) & close its window when done
(From this point on everything is automated by ARexx, there are no numbers to remember, start times to add together etc.)
(4) Run this ARexx routine (with the second audio clip still highlighted)
* * *
The Arexx routine will alter the 2 audio clips & set them up as you would have done. The first clip will have the start through to the cut point; the "um" or "ah" is skipped over; & the second clip now has the remainder of the narration. You can
start over by duplicating the second clip & begin your next 'cut'.
Note that the start time of the second clip has also been 'butted' up to the first clip, and is set to play immediately after the first is complete. (Great for butting narration bits back together.)
*/
call remlib('PROJECT_REXX_PORT')
call addlib('PROJECT_REXX_PORT',0)
/* --- begin --- */
OK=1
NotOK=0
AudioNext=NotOK
AudioPrev=NotOK
start_loc=croutonspot()
if start_loc>0 then do
/* --- Check previous audio clip --- */
call croutonpick(start_loc-1)
if croutontype()=" AUD" then do
AudioPrev=OK
prevaudioname=croutonname()
prevIN=croutongettag(AudioStart)
prevOUT=prevIN+croutongettag(AudioDuration)
prevstart=croutongettag(Delay)
Last_Time_Mode= croutongettag(TimeMode) /* Locking to 2=prog time 1=inpoint 0=clip */
end
/* --- Read Selected (next) audio clip --- */
call croutonpick(start_loc)
if croutontype()=" AUD" then do
AudioNext=OK
audioname=croutonname()
Cut1=croutongettag(AudioStart)
Cut2=croutongettag(AudioDuration)+Cut1
end
end
/* --- wait for any screen update delay --- */
call time('R')
do while (time('E')<0.5)
end
call req_open("Cut - by Aussie","----------------","Cuts the SELECTED audio clip","out of the PREVIOUS audio clip.")
/* --- Kick out if both are not audio clips --- */
if AudioNext~=OK | AudioPrev~=OK then do
test=req_tell("Sorry, CANCELED!"," Both the selected & previous clips","must be AUDIO ONLY clips! Help?")
call quit1
end
/* --- check for matching name --- */
if audioname ~= prevaudioname then do
test=req_tell("Sorry, CANCELED!"," The 2 AUDIO clips MUST be"," from the identical file. Help?")
call quit1
end
/* --- compare in & out points to avoid ridiculous problems --- */
if (prevIN>=Cut1) | (Cut1>=Cut2) | (Cut2>=PrevOUT) then do
test=req_tell("Sorry, CANCELED!"," The 2nd clip's IN & OUTs must be"," INSIDE the range of the 1st. Help?")
call quit1
end
/* --- last check to proceed --- */
test = req_tell("Ok to cut this section"," from the last audio clip?")
if test~=OK then call quitb
/* --- write all settings to croutons --- */
newprevduration=cut1-prevIN
newnextIN=cut2
newnextduration = prevOUT-cut2
newnextstart=prevstart+newprevduration
call croutonpick(start_loc-1)
call croutonsettag(AudioDuration,newprevduration)
call croutonpick(start_loc)
call croutonsettag(AudioStart,newnextIN)
call croutonsettag(AudioDuration,newnextduration)
call croutonsettag(Delay,NewNextStart)
call croutonsettag(TimeMode,Last_Time_Mode) /* Locking to 2=prog time 1=inpoint 0=clip */
/* --- Wrap Up --- */
quit:
call req_close()
call projectupdate()
call croutonpick(start_loc)
call req_error(" OZ: All Done! Cut was a success.")
call remlib("PROJECT_REXX_PORT")
exit
quitb:
test=req_tell("CANCELED!"," Do you want help?"," ")
quit1:
call req_close()
if test=OK then call quithelp
quit2:
if start_loc>0 then call croutonpick(start_loc)
call req_error(" OZ: Operation was <<< Canceled >>>")
call remlib("PROJECT_REXX_PORT")
exit
/* --------------------- help stuff to explain it all */
quithelp:
test=req_tell("Here is help","1-Pick AUDIO clip, then DUPLICATE","2-Pick second clip & open controls")
if test~=OK then return
test=req_tell("More help...","3-Set IN & OUT, mark area to cut","4-Close window & run this program")
if test~=OK then return
test=req_tell("Last help..."," It will reset IN & OUT points; make"," the cut; & butt the start times. Bye")